home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / E-Education / (c)ed4.d64 / zone x (.txt) < prev   
Commodore BASIC  |  2007-02-04  |  9KB  |  318 lines

  1. 1 GOTO910
  2. 2 PRINT"x[169][141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X` 
  3. 3 [153]"xSTEPGINPUTSTOPSTEPINPUTONX` (null)(null)STEP(null)INPUTLISTLX(null)xSTEPUINPUTSTOPSTEP(null)INPUTONX`    
  4. 4 PRINT"xhhh[170]h[168]hhhhhhh[152]H[138]HX`    
  5. 5 [153]"hhhhhhh`  
  6. 6 PRINT"[160][255][200][132][251][169][216][133][252] [241][183][138][162][160][255][200][145][251][136][208][251][230][252][202][208][246]`   
  7. 7 [153]"NEWCLOSE(null)LEFT$>(null)ON(null)LET(null)(null)(null)(null)(null)(null)MID$(null)(null)`  
  8. 35 IFUW=0THENSYSUU,15
  9. 40 POKEUC,0:POKEUN,0:UR$="":UI$="":IFUL=0THENUL=39
  10. 45 GETUI$:IFUI$=""THEN45
  11. 50 UA=ASC(UI$):UR=LEN(UR$):IFUA=13ANDUR>0THENPOKEUC,1:PRINT" [157]";:GOTO75
  12. 55 IFUA=20THENON-(UR=0)GOTO45:UR$=LEFT$(UR$,UR-1):PRINT"[157]  [157][157]";:GOTO45
  13. 60 IFUR=ULTHEN45
  14. 65 GOSUB95:UR$=UR$+UI$:PRINTUI$;:GOTO45
  15. 75 FORUI=URTO1STEP-1:IFMID$(UR$,UI,1)=" "THENNEXT
  16. 80 UR$=LEFT$(UR$,UI):PRINT:RETURN
  17. 95 IFLEN(US$)=0THEN110
  18. 100 FORUI=1TOLEN(US$):IFUI$<>MID$(US$,UI,1)THENNEXT:UI$=""
  19. 105 RETURN
  20. 110 IFUA=46THENRETURN
  21. 115 IFUA=32ANDUR<>0THENRETURN
  22. 120 IFUA>47ANDUA<58THENRETURN
  23. 125 IFUA>64ANDUA<91THENRETURN
  24. 130 IFUA<193ORUA>218THENUI$="":RETURN
  25. 135 IFPEEK(UT)=UU%THENUI$=CHR$(UA-128)
  26. 140 RETURN
  27. 155 UZ=0:US$=UJ$:UG$=UK$:UT$=UL$:UP=UJ:UL=UK:PRINT"[147]";:POKEUY,6:POKEUX,6
  28. 160 POKEUT,UV%:POKE251,0:POKE252,UF:POKE253,0:POKE254,US/256:SYSUV:SYSUU,15
  29. 165 POKEU1,U1%:POKEU2,U2%:POKEU3,U3%-1:POKEU4,U4%:GOTO35
  30. 300 REM DERIVED FROM COMMODORE ONTARIO EDUCATIONAL SOFTWARE PROJECT 1983
  31. 310 REM PROJECT DIRECTOR: FRANK WINTER
  32. 320 REM PROGRAM NAME: ZONE X
  33. 330 REM WRITTEN BY BILL FINZER 1978
  34. 340 REM REVISED BY D. DAKERS"
  35. 350 [143] UPDATED BY BILL CUMBERLAND 90
  36. 400 [153]"LOAD":[151]UT,UL%:[151]UY,13:[151]UX,13:[151]646,0
  37. 405 [153]"         (null)ELCOME TO (null)(null)(null)VALCLOSE- (null)"
  38. 410 [153]"   RIGHT$'M GOING TO DRAW A GRID AND HIDE"
  39. 415 [153]"   TWO LINES ON IT."
  40. 420 [153]"   (null)OU ARE TO FIND THE POINT OF            INTERSECTION.
  41. 425 PRINT"   [212]O HELP YOU, [201]'VE CODED EACH
  42. 430 [153]"   OF THE FOUR REGIONS CREATED BY          THE LINES WITH ..."
  43. 435 [153]"        *WAIT , /WAIT , +WAIT , OR -WAIT."
  44. 445 [141]820
  45. 450 [153]"LOAD   (null)OU GUESS A POINT ((null),(null)) ON"
  46. 452 [153]"   THE GRID, AND RIGHT$ WILL TELL YOU IN"
  47. 454 [153]"   WHICH REGION IT IS LOCATED."
  48. 460 [153]"   (null)HERE ARE ALSO SEVERAL POINTS ON
  49. 462 PRINT"   THE LINES HIDDEN ON THE GRID"
  50. 464 PRINT"   THAT WILL APPEAR AS BLANK SQUARES.
  51. 470 [153]"   (null)HESE POINTS WILL GIVE YOU CLUES
  52. 474 PRINT"   IN FINDING THE ACTUAL POINT OF          INTERSECTION.
  53. 480 [153]"   ATNT THE END OF THE GAME, RIGHT$ WILL
  54. 482 PRINT"   REVEAL [193][204][204] IN GLORIOUS COLOUR!
  55. 490 [141]820:[142]
  56. 700 [143] <YES>
  57. 705 SS[178]54272:[129]EE[178]SS[164]SS[170]28:[151]EE,0:[130]
  58. 710 [151]54296,15:[151]54277,42:[151]54278,250
  59. 715 [151]54276,23:[151]54273,23:[151]54272,191
  60. 720 [129]TM[178]1[164]150:[130]:[151]54276,32:[129]TM[178]1[164]200:[130]
  61. 725 [151]54296,0:[142]
  62. 730 [143] <NO>
  63. 735 SS[178]54272:[129]EE[178]SS[164]SS[170]28:[151]EE,0:[130]
  64. 740 [151]54296,15:[151]54277,18:[151]54278,242
  65. 745 [151]54276,33:[151]54273,4:[151]54272,48
  66. 750 [129]TM[178]1[164]300:[130]:[151]54276,32:[129]TM[178]1[164]400:[130]
  67. 755 [151]54296,0:[142]
  68. 760 [143] <BLIP>
  69. 765 SS[178]54272:[129]EE[178]SS[164]SS[170]28:[151]EE,0:[130]
  70. 770 [151]54296,6:[151]54277,42:[151]54278,250
  71. 775 [151]54276,23:[151]54273,23:[151]54272,191
  72. 780 [129]TM[178]1[164]30:[130]:[151]54276,32:[129]TM[178]1[164]50:[130]
  73. 785 [151]54296,0:[142]
  74. 790 [129]TM[178]1[164]500:[130]:[142]
  75. 791 [129]TM[178]1[164]1000:[130]:[142]
  76. 792 [129]TM[178]1[164]2000:[130]:[142]
  77. 793 [129]TM[178]1[164]3000:[130]:[142]
  78. 795 [129]TM[178]1[164]5000:[130]:[142]
  79. 799 :
  80. 800 [153]"LOAD";:[151]UT,UU%:[151]UY,0:[151]UX,0:[151]646,5
  81. 801 [153]"     A TPUG EDUCATIONAL PROGRAM
  82. 802 PRINT"          FOR C64 COMPUTERS
  83. 803 [153]"              GRADES 4-8":[141]791
  84. 804 [153]"                                        WAIT";
  85. 805 [153]"                                        WAIT";
  86. 806 [153]"                                        WAIT";
  87. 807 [153]"                ZONE X                  WAIT";
  88. 808 [153]"                                        WAIT";
  89. 809 [153]"                                        WAIT";
  90. 810 [153]"                                        WAIT":[141]792:[141]760
  91. 811 [153]"          INSTRUCTIONS?  Y/N
  92. 812 GETUI$:IFUI$<>"Y"ANDUI$<>"N"THEN 812
  93. 813 IFUI$="Y"THENGOSUB400
  94. 814 PRINT"[147] AND AWAY WE GO.............":GOSUB792:GOSUB700
  95. 815 GOTO1000
  96. 820 GOSUB791:GOSUB760
  97. 823 POKEUN,0:PRINTLEFT$(UD$,24);"[208]RESS [211][208][193][195][197][160][194][193][210] TO CONTINUE[146]"
  98. 825 GETUI$:IFUI$<>" "THEN825
  99. 830 RETURN
  100. 835 GOSUB791:GOSUB760
  101. 837 POKEUN,0:PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]"
  102. 840 GETUI$:IFUI$<>" "THEN840
  103. 845 RETURN
  104. 850 UP=UP+1:PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
  105. 855 PRINT" --------------------------------------"
  106. 860 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);"[193]NSWER, THEN PRESS [210][197][212][213][210][206][146]"
  107. 865 UH=0:PRINT"":RETURN
  108. 875 PRINTLEFT$(UD$,24);"           ONE MOMENT PLEASE...     ":RETURN
  109. 900 US=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UB=2048:UX=53280:UD=2064
  110. 902 UT=53272:UU%=21:UL%=23:UP%=2151:UN=198:UY=53281:UU=2199:UE=2087
  111. 904 UC$=CHR$(155):UV=1214:UF=196:UV=2238
  112. 905 UD$="":UP$="                                      "
  113. 907 UT$="ZONE X"
  114. 908 IF UW=0THENPRINTCHR$(8)
  115. 909 RETURN
  116. 910 GOSUB900:PRINT"[147] "
  117. 920 GOTO800
  118. 1000 PRINT"[147]"UC$;:RESTORE:POKEUY,0:POKEUX,0
  119. 1010 REM ZONE X  BY BILL FINZER
  120. 1020 REM     OCTOBER, 1978
  121. 1030 IFUW=0THEN1040
  122. 1031 RESTORE:FORI=826TO848:READN:POKEI,N:NEXT
  123. 1032 DATA162,128,160,0,132,33,134,34,177
  124. 1033 DATA33,73,128,145,33,200,208,247,232
  125. 1034 DATA224,132,208,240,96
  126. 1040 POKE UT,UU%
  127. 1050 PRINT"[147]"
  128. 1060 PRINT"  [166][166][166][166][166][166]   [166][166][166][166][166][166]  [166][166]   [166][166]  [166][166][166][166][166][166]
  129. 1070 [153]"  SPC(SPC(SPC(SPC(SPC(SPC(   SPC(SPC(SPC(SPC(SPC(SPC(  SPC(SPC(SPC(  SPC(SPC(  SPC(SPC(SPC(SPC(SPC(SPC(
  130. 1080 PRINT"     [166][166][166]   [166][166]  [166][166]  [166][166][166][166] [166][166]  [166][166]
  131. 1090 [153]"    SPC(SPC(SPC(    SPC(SPC(  SPC(SPC(  SPC(SPC(SPC(SPC(SPC(SPC(SPC(  SPC(SPC(SPC(SPC(SPC(
  132. 1100 PRINT"   [166][166][166]     [166][166]  [166][166]  [166][166] [166][166][166][166]  [166][166]
  133. 1110 [153]"  SPC(SPC(SPC(SPC(SPC(SPC(   SPC(SPC(SPC(SPC(SPC(SPC(  SPC(SPC(  SPC(SPC(SPC(  SPC(SPC(SPC(SPC(SPC(SPC(
  134. 1120 PRINT"  [166][166][166][166][166][166]   [166][166][166][166][166][166]  [166][166]   [166][166]  [166][166][166][166][166][166]
  135. 1130 [153]"
  136. 1140 PRINT"         [214]       [214][214]
  137. 1150 [153]"        (null)(null)(null)     (null)(null)(null)
  138. 1160 PRINT"         [214][214][214]   [214][214][214]
  139. 1170 [153]"          (null)(null)(null) (null)(null)(null)
  140. 1180 PRINT"           [214][214][214][214][214]
  141. 1190 [153]"            (null)(null)(null)
  142. 1200 PRINT"           [214][214][214][214][214]
  143. 1210 [153]"          (null)(null)(null) (null)(null)(null)
  144. 1220 PRINT"         [214][214][214]   [214][214][214]
  145. 1230 [153]"         (null)(null)     (null)(null)
  146. 1240 PRINT
  147. 1250 REM MAIN CALLING ROUTINE
  148. 1260 GOSUB 1360: REM INITIALIZE
  149. 1270 GOSUB 1410 : REM INSTRUCTIONS
  150. 1280 GOSUB 1660 : REM DRAW GRID
  151. 1290 GOSUB 1870 : REM DRAW GUESS CHART
  152. 1300 GOSUB 1960:  REM HIDE LINES AND                       COLOR REGIONS
  153. 1310 GOSUB 2190 : REM INPUT GUESS AND                      DISPLAY CLUE
  154. 1320 GOSUB 2550 : REM A WIN! DISPLAY                      AND FILL OUT GRID
  155. 1360 REM INITIALIZE
  156. 1370 P=RND(-TI)
  157. 1380 MOVES = 1
  158. 1390 L=5 : REM LINE# -1 FOR INPUT
  159. 1400 RETURN
  160. 1410 REM INSTRUCTIONS
  161. 1420 PRINT" WHAT IS YOUR NAME? ";
  162. 1430 US$="":UL=15:GOSUB35:N$=UR$
  163. 1460 RETURN
  164. 1660 REM DRAW GRID
  165. 1670 PRINT"[147]":IFUW=0THENSYSUU,15
  166. 1680 T=20
  167. 1690 PRINTTAB(T)" 15*...............
  168. 1700 [153][163]T)"   (null)...............
  169. 1710 PRINTTAB(T)"   [219]...............
  170. 1720 [153][163]T)"   (null)...............
  171. 1730 PRINTTAB(T)"   [219]...............
  172. 1740 [153][163]T)" 10*...............
  173. 1750 PRINTTAB(T)"   [219]...............
  174. 1760 [153][163]T)"   (null)...............
  175. 1770 PRINTTAB(T)"   [219]...............
  176. 1780 [153][163]T)"   (null)...............
  177. 1790 PRINTTAB(T)"  5*...............
  178. 1800 [153][163]T)"   (null)...............
  179. 1810 PRINTTAB(T)"   [219]...............
  180. 1820 [153][163]T)"   (null)...............
  181. 1830 PRINTTAB(T)"   [219]...............
  182. 1840 [153][163]T)"  0*(null)(null)(null)(null)*(null)(null)(null)(null)*(null)(null)(null)(null)*
  183. 1850 PRINTTAB(T)"   0    5    10  15
  184. 1860 [142]
  185. 1870 [143] DRAW GUESS CHART
  186. 1880 [153]"      ZONE X
  187. 1890 PRINT" "N$"'S
  188. 1900 [153]" GUESS  PEEK CLUE
  189. 1910 PRINT"  X,Y   [194]
  190. 1920 [129]I[178]1[164]18
  191. 1930 [153]"        PEEK
  192. 1940 NEXTI
  193. 1950 RETURN
  194. 1960 REM HIDE LINES AND COLOR REGIONS
  195. 1970 PX=INT(RND(1)*12)+3:REM INTERSECTION
  196. 1980 PY=INT(RND(1)*12)+3:
  197. 1990 LX=INT(RND(1)*15)+1:REM LINES
  198. 2000 LY=INT(RND(1)*15)+1
  199. 2010 REM COLOR THE REGIONS
  200. 2020 R1=INT(RND(1)*4)+1
  201. 2030 R2=INT(RND(1)*4)+1:IF R2=R1 THEN 2030
  202. 2040 R3=INT(RND(1)*4)+1
  203. 2050 IF R3=R2 OR R3=R1 THEN 2040
  204. 2060 R4=INT(RND(1)*4)+1
  205. 2070 IF R4=R1 OR R4=R2 OR R4=R3 THEN 2060
  206. 2080 C$(R1)="[158]*[146][155]"
  207. 2090 C$(R2)="[150]/[146][155]"
  208. 2100 C$(R3)="[159]+[146][155]"
  209. 2110 C$(R4)="[153]-[146][155]
  210. 2120 C$(5)[178]" WAITLIST
  211. 2130 X1=PX:Y1=PY:X2=LX:Y2=0
  212. 2140 GOSUB 3050:T1=THETA
  213. 2150 X2=0:Y2=LY
  214. 2160 GOSUB 3050:T2=THETA
  215. 2170 IF INT((T2+(null))*1000)=INT(T1*1000)        THEN 1960
  216. 2180 RETURN
  217. 2190 REM INPUT GUESS AND DISPLAY CLUES
  218. 2200 IF L>20 THEN L=5:GOSUB4000
  219. 2210 POKE U4,L:PRINT
  220. 2230 MOVES = MOVES +1
  221. 2240 L=L+1
  222. 2250 GOSUB 2910
  223. 2255 IFB$="Q"THENLP=1:GOTO2635
  224. 2260 I1=0
  225. 2270 FOR I=1 TO LEN(B$)
  226. 2280 IF MID$(B$,I,1)="," THEN I1=I:GOTO2310
  227. 2290 NEXT I
  228. 2300 IF I1=0 THEN2332
  229. 2310 X=VAL(LEFT$(B$,I1))
  230. 2320 Y=VAL(RIGHT$(B$,LEN(B$)-I1))
  231. 2330 IFX<0ORY<0 OR X>15ORY>15THEN2332
  232. 2331 GOTO2340
  233. 2332 IFL+3>20THENL=5:GOSUB4000:POKEU4,L:PRINT
  234. 2333 GOSUB730:PRINT"[150] ILLEGAL":PRINT" MOVE[155]":L=L+2:GOTO2240
  235. 2340 REM FIND REGION
  236. 2350 IF X=PX AND Y=PY THEN 2400 :REM'GOT IT!'
  237. 2360 GOSUB 2410 LOCATE REGION
  238. 2370 PRINT"[145]"TAB(11)C$(R)
  239. 2380 GOSUB 3000: PRINTC$(R):REM PRINT CLUE       ON GRAPH
  240. 2390 GOTO 2200
  241. 2400 RETURN
  242. 2410 REM ISOLATE WHICH REGION
  243. 2420 X1=X:Y1=Y
  244. 2430 X2=LX:Y2=0
  245. 2440 GOSUB 3050:AX=THETA
  246. 2450 IF THETA=-100 THEN R=5: GOTO 2540
  247. 2460 X2=0:Y2=LY
  248. 2470 GOSUB 3050:AY=THETA
  249. 2480 IF THETA=-100 THEN R=5: GOTO 2540
  250. 2490 IF AX=T1 OR AY=T2 THEN R=5:GOTO         2540
  251. 2500 IF AX<T1 AND AY<T2 THEN R=1:GOTO         2540
  252. 2510 IF AX<T1 AND AY>T2 THEN R=2:GOTO         2540
  253. 2520 IF AX>T1 AND AY>T2 THEN R=3:GOTO         2540
  254. 2530 IF AX>T1 AND AY<T2 THEN R=4:GOTO         2540
  255. 2540 RETURN
  256. 2550 REM DISPLAY FOR WIN
  257. 2560 GOSUB3400
  258. 2590 IF TI<T9+30 THEN 2590
  259. 2620 PRINTTAB(10)"[158]YOU GOT IT!"
  260. 2625 PRINTTAB(10)"IN"MOVES-1"MOVES!"
  261. 2630 GOSUB700:GOSUB793
  262. 2635 PRINTTAB(10)"IT WAS AT":PRINTTAB(10)PX","PY"![155]"
  263. 2640 GOSUB760:GOSUB760:GOSUB795
  264. 2645 FOR X=0 TO 15
  265. 2650 FOR Y=0 TO 15
  266. 2660 GOSUB 2410
  267. 2670 GOSUB 3000:PRINTC$(R)
  268. 2680 NEXT Y
  269. 2690 NEXT X
  270. 2700 X=PX:Y=PY
  271. 2710 GOSUB 3000
  272. 2720 FOR I= 1 TO 10
  273. 2730 PRINT" [146][157]";
  274. 2740 T9=TI
  275. 2750 IF TI<T9+30 THEN 2750
  276. 2760 PRINT" [157]";:IF TI<T9+60  THEN 2760
  277. 2770 NEXT I
  278. 2780 PRINT" [146]"
  279. 2790 POKEU4,23:PRINT
  280. 2800 GOSUB835:GOSUB790:GOSUB760:PRINT"[147] PLAY AGAIN, "N$"? (Y/N)  [155]";
  281. 2810 US$="YN":UL=1:GOSUB35:A$=UR$
  282. 2815 IF A$="Y"THENRESTORE:GOSUB1360:GOTO1280
  283. 2825 PRINT"[147] RETURNING TO THE MAIN MENU"
  284. 2830 LOAD"MENU",8
  285. 2840 RUN
  286. 2850 END
  287. 2899 :
  288. 2910 REM BUILD UP A STRING. DON'T ACCEPT     EMPTY STRING
  289. 2920 PRINT" ";:US$="1234567890,QH":UL=5:GOSUB35:B$=UR$:RETURN
  290. 3000 REM MOVE CURSOR TO X,Y ON GRID
  291. 3010 IF 16-Y<0 THEN PRINT"";: GOTO 3030
  292. 3020 POKEU4,15-Y:PRINT
  293. 3030 PRINTTAB(X+23);
  294. 3040 RETURN
  295. 3050 REM FIND ANGLE THETA FROMPOINT 2            TO POINT 1
  296. 3060 IF X1=X2 AND Y1=Y2 THEN THETA=-100:       GOTO 3140
  297. 3070 IF X1=X2 AND Y1<Y2 THEN THETA=-(null)/2:       GOTO 3140
  298. 3080 IF X1=X2 AND Y1>Y2 THEN THETA= (null)/2:       GOTO 3140
  299. 3090 IF Y1=Y2 AND X1>X2 THEN THETA= 0  :       GOTO 3140
  300. 3100 IF Y1=Y2 AND X1<X2 THEN THETA= (null)  :       GOTO 3140
  301. 3110 THETA = ATN((Y1-Y2)/(X1-X2))
  302. 3120 IF X1<X2 AND Y1>Y2 THEN THETA=           THETA+(null)
  303. 3130 IF X1<X2 AND Y1<Y2 THEN THETA=           THETA-(null)
  304. 3140 RETURN
  305. 3400 QQ=0:FORJ=1TO10:IFUW<>0THENSYS826
  306. 3402 IFUW=0THENPOKEUX,Q:POKEUY,Q:Q=Q+1
  307. 3404 P=.3:GOSUB3430:NEXT
  308. 3406 IFUW=0THENPOKEUY,6:POKEUX,14
  309. 3410 RETURN
  310. 3430 P=P*60
  311. 3440 T=TI
  312. 3450 IFTI<T+PTHEN3450
  313. 3460 RETURN
  314. 4000 PRINT"";:FORI=1TO18:PRINT"        [194]      "
  315. 4010 NEXTI:RETURN
  316. 4100 REM WHC 90:11:29
  317. 4999 :
  318.